﻿using Compass.Wasm.Shared.Categories;

namespace Compass.Wasm.Shared.Wms;

//库存盘点记录
public class InventoryDto : BaseDto
{
    private Guid cargoId;
    public Guid CargoId { get=>cargoId; set { cargoId=value;OnPropertyChanged(); } }

    private double quantity;
    public double Quantity { get=>quantity; set { quantity=value;OnPropertyChanged(); } }//期初库存
    
    private double diff;
    public double Diff { get=>diff; set { diff=value;OnPropertyChanged(); } }//盘库差异，盘赢/盘亏,点击差异按钮自动计算？

    private DateTime countTime;
    public DateTime CountTime { get=>countTime; set { countTime=value;OnPropertyChanged(); } }//盘点日期，点击Save时给定当前时间

    public Guid operatorId;
    public Guid OperatorId { get=>operatorId; set { operatorId=value;OnPropertyChanged(); }}//盘点人

    private string? remarks;//盘点备注，盘点盈亏分析
    public string? Remarks { get => remarks; set { remarks = value; OnPropertyChanged(); } }

    #region 额外属性1，查询时赋值
    private string mtlNumber;//物料编码
    public string? MtlNumber { get => mtlNumber; set { mtlNumber=value; OnPropertyChanged(); } }
    private string? description;//中文描述
    public string? Description { get => description; set { description = value; OnPropertyChanged(); } }
    //库存
    private double inventory;
    public double Inventory { get => inventory; set { inventory=value; OnPropertyChanged(); } }
    //在途数量
    private double transitIn;
    public double TransitIn { get => transitIn; set { transitIn=value; OnPropertyChanged(); } }
    //待领料数量
    private double transitOut;
    public double TransitOut { get => transitIn; set { transitIn=value; OnPropertyChanged(); } }
    //库存紧缺
    private bool shortAge;
    public bool ShortAge { get => shortAge; set { shortAge=value; OnPropertyChanged(); } }
    private Unit_e unit;//计量单位
    public Unit_e Unit { get => unit; set { unit=value; OnPropertyChanged(); } }//PCS
    private string? location;//库位编号
    public string? Location { get => location; set { location = value; OnPropertyChanged(); } }
    private string? userName;
    public string? Operator { get => userName; set { userName=value; OnPropertyChanged(); } }
    #endregion
}